package com.ttg.model.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ttg.common.entities.BasePage;
import com.ttg.model.dto.open.QueryVipGradeByMctNoDto;
import com.ttg.model.pojo.BankPrivatePrimitive;
import com.ttg.model.pojo.BankPublicPrimitive;
import com.ttg.model.vo.MctInfoListGetVo;
import com.ttg.model.vo.VipInfoGetListVo;
import com.ttg.model.vo.open.QueryVipGradeByMctVo;
import com.ttg.model.vo.open.QueryVipPublicTagInfoVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

import java.time.LocalDateTime;


/**
 * @author zhangHongYuan
 * @description
 * @date 2024/4/11 16:44
 */
public interface BankPublicPrimitiveMapper extends BaseMapper<BankPublicPrimitive> {

    QueryVipPublicTagInfoVo queryVipTagByPublic(@Param("mctNo") String mctNo, @Param("type") Integer type);

    BasePage<MctInfoListGetVo> getList(BasePage<VipInfoGetListVo> page,
                                       @Param("mctId") Long mctId,
                                       @Param("mctNo") Long mctNo,
                                       @Param("mctName") String mctName,
                                       @Param("mctGrade") Integer mctGrade,
                                       @Param("mctStatus") Integer mctStatus,
                                       @Param("startTime") String startTime,
                                       @Param("endTime") String endTime);

//    void updateGrowByTaskIdAndDate(@Param("taskId") Long taskId, @Param("nowDate") Integer nowDate, @Param("nowTime") LocalDateTime nowTime);

    List<QueryVipGradeByMctVo> queryVipGradeByMctNo(@Param("mctNos")List<QueryVipGradeByMctNoDto> mctNos,@Param("typePublic") Integer typePublic);

    void sumTodayIntegral(@Param("excuteDate") Integer excuteDate);

    List<QueryVipPublicTagInfoVo> queryVipTagByMcyNo(@Param("mctNos")List<String> nos,@Param("type") Integer type);

    void rattingGradeByBatch(@Param("idStart") Long idStart, @Param("idEnd") Long idEnd);

    boolean newMctRating();

    List<BankPublicPrimitive> bankPublicPrimitive(@Param("pageSize") Integer pageSize,@Param("startId") Long starId);
}
